home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 January / EnigmA AMIGA RUN 33 (1999)(G.R. Edizioni)(IT)[!][issue 1999-01].iso / earcd / faq / computer-lang / ada / comp-lang-ada / part2.z / part2
Text File  |  1999-01-01  |  35KB  |  847 lines

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!spool.mu.edu!howland.reston.ans.net!math.ohio-state.edu!jussieu.fr!univ-lyon1.fr!in2p3.fr!swidir.switch.ch!epflnews!dinews.epfl.ch!Magnus.Kempe
  2. From: Magnus.Kempe@di.epfl.ch (Magnus Kempe)
  3. Newsgroups: comp.lang.ada,comp.answers,news.answers
  4. Subject: Ada FAQ: comp.lang.ada (part 2 of 3)
  5. Followup-To: poster
  6. Date: 24 May 1996 15:04:30 GMT
  7. Organization: None
  8. Lines: 821
  9. Sender: magnus@lglsun4.epfl.ch (Magnus Kempe)
  10. Approved: news-answers-request@MIT.EDU
  11. Distribution: world
  12. Message-ID: <4o4j5u$sd@disunms.epfl.ch>
  13. Reply-To: Magnus.Kempe@di.epfl.ch (Magnus Kempe)
  14. NNTP-Posting-Host: lglsun4.epfl.ch
  15. Mime-Version: 1.0
  16. Content-Type: text/plain; charset=iso-8859-1
  17. Content-Transfer-Encoding: 8bit
  18. Summary: comp.lang.ada Frequently Asked Questions (and answers),
  19.            part 2 of 3.
  20.          Please read before posting.
  21.          Does *not* get into Ada programming questions
  22.            [for that see the companion Ada/programming FAQ].
  23. Keywords: Ada, comp.lang.ada
  24. Xref: senator-bedfellow.mit.edu comp.lang.ada:45499 comp.answers:18910 news.answers:72600
  25.  
  26. Archive-name: computer-lang/Ada/comp-lang-ada/part2
  27. Comp-lang-ada-archive-name: comp-lang-ada/part2
  28. Posting-Frequency: monthly
  29. Last-modified: 24 May 1996
  30. Last-posted: 22 April 1996
  31.  
  32.                                  comp.lang.ada
  33.                        Frequently Asked Questions (FAQ)
  34.  
  35.     Recent changes to this FAQ are listed in the first section after the table
  36.     of contents. This document is under explicit copyright.
  37.  
  38. This is part 2 of a 3-part posting; part 1 contains the table of contents.
  39. Part 3 begins with question 7; it should be the next posting in this thread.
  40. Part 1 should be the previous posting in this thread.
  41.  
  42.  
  43. 4: Compilers
  44.  
  45. 4.1: Is there a list of validated Ada compilers?
  46.  
  47.    Yes, indeed, there is. The latest list can be retrieved by anonymous
  48.    FTP. For Ada 83, it is in
  49.    ftp://sw-eng.falls-church.va.us/public/AdaIC/compilers/83val/83vcl.txt
  50.    (if the list is updated during the month, the previous one is
  51.    replaced).
  52.  
  53.    And there is also a (non-empty!) list of validated Ada 95 compilers at
  54.    ftp://sw-eng.falls-church.va.us/public/AdaIC/compilers/95val/95vcl.txt
  55.  
  56.  
  57. 4.2: Is there a free Ada compiler (or interpreter)?
  58.  
  59.    There ARE indeed free Ada systems, and there is even choice: Ada/Ed
  60.    for Ada 83, and AVLAda9X and GNAT for Ada 95. A complete list is
  61.    available at
  62.    http://lglwww.epfl.ch/Ada/Resources/Compilers/Free_Ada.html
  63.  
  64.    (Strictly speaking these are free to distribute but NOT
  65.    "public-domain". They are "free"--under copyright conditions known as
  66.    "GNU Copyleft". In short: there is no warranty, and you are allowed to
  67.    copy, modify, and distribute them; but you can't charge anyone for the
  68.    software itself, and if the software (necessarily including source
  69.    code) is further distributed, it must be done under the same
  70.    conditions--i.e. copyable, with sources and modifications, available
  71.    to everyone else, etc.)
  72.  
  73.  
  74.     4.2.1: GNAT, The GNU NYU Ada Translator -- An Ada 95 Compiler
  75.  
  76.    GNAT is a compiler for Ada 95 that accepts Ada 95 source code and
  77.    generates executable (machine) code (GNAT is a compiler and does not,
  78.    repeat: DOES NOT, generate C code). It is based on the Free Software
  79.    Foundation (FSF)'s gcc, a portable compilation system for a variety of
  80.    languages. GNAT generates relatively good code, and is expected to
  81.    improve further as its developers transition from developing initial
  82.    functionality to optimizing it. GNAT supports tasking for many
  83.    computer platforms, but it does NOT support tasking on MS-DOS at this
  84.    time. For tasking with GNAT and a PC platform, consider using other
  85.    operating systems such as Linux or OS/2 (while we're at it, if you use
  86.    DOS, consider using a real operating system :-).
  87.  
  88.    GNAT is available from the New York University host, in directory
  89.    ftp://cs.nyu.edu/pub/gnat. There are versions for UNIX-based systems
  90.    (Sun, DEC, IBM, Next, ...), and versions for DOS, OS/2, and NT 386/486
  91.    systems. Usually the latest version is made available for both Sun
  92.    SPARC (SunOS 4.1) and OS/2 systems.
  93.  
  94.    It is also available in the Public Ada Library (PAL -- formerly the
  95.    Ada Software Repository), under directory
  96.    ftp://wuarchive.wustl.edu/pub/languages/ada/compiler/gnat (Internet
  97.    address: 128.252.135.4). A mirror site of the PAL also carries GNAT,
  98.    directory: ftp://ftp.cdrom.com/pub/languages/ada/compiler/gnat.
  99.  
  100.    You can also get a copy from the AdaIC Bulletin Board. But this is a
  101.    dial-up operation (703/614-0215), and since the files sizes are large,
  102.    connect times may be lengthy. The bulletin board is best used as a
  103.    back-up source for those who don't have Internet/FTP access.
  104.  
  105.       General
  106.  
  107.    (excerpted from "Free Source Code for GNAT 9X Compiler to be Available
  108.    on Internet", by Robert Dewar and Edmond Schonberg, New York
  109.    University, Ada Information Clearinghouse Newsletter August 1993)
  110.  
  111.    The Computer Science Department of the Courant Institute of
  112.    Mathematical Sciences at New York University received a contract from
  113.    the Ada 9X Project Office, under the direction of Christine M.
  114.    Anderson, to develop a GNU/Ada system. The work was co-sponsored by
  115.    ARPA and the Ada Joint Program Office.
  116.  
  117.    The final delivery was a full Ada 95 implementation with as much of
  118.    the core language and annexes implemented as possible.
  119.  
  120.    Here is the official GNAT e-mail address:
  121.  
  122.    report@gnat.com
  123.           This address is to be used specifically to report problems with
  124.           the currently available version of the GNAT system. Please be
  125.           as specific as possible in reporting problems.
  126.  
  127.  
  128.       OS/2 Version
  129.  
  130.    The executables and sources for the OS/2 version of GNAT are split and
  131.    compressed into two files, each of which can fit on one 3.5-inch
  132.    high-density diskette. Although it is possible to install GNAT on an
  133.    OS/2 machine on FAT (MS-DOS-compatble) partition, such an installation
  134.    will not be fully functional. In fact, GNAT does not support
  135.    installations on FAT partitions. You will need about 8.5 MB of free
  136.    disk space after you have copied the appropriate files to your hard
  137.    drive. About half of this amount is taken up by the source code.
  138.  
  139.    In case you want to modify and re-compile GNAT, you will need about 24
  140.    MB of free disk space after you have installed GNAT for OS/2 and
  141.    copied the necessary source files to your hard drive.
  142.  
  143.       Ports
  144.  
  145.    Several ports of GNAT have been produced by volunteers for a number of
  146.    additional platforms (e.g. SPARCStations Solaris 2.1, i386/i486 Linux,
  147.    DECstation (MIPS chip) Ultrix, DOS, SCO Unix). Users should allow time
  148.    for the volunteers to catch up with the new releases.
  149.  
  150.    Note: The DOS version requires installation of DJGPP, DJ Delorie's
  151.    port of GCC, GNU loader (ld), and GNU assembler (as) to DOS. DJGPP
  152.    also includes the GO32 memory extender, which works with both VCPI and
  153.    DPMI standards, which allows working in a Microsoft Window. There is
  154.    information on DJGPP stored together with GNAT.
  155.  
  156.  
  157.     4.2.2: Ada/Ed -- An Interpreter for Ada 83
  158.  
  159.    Ada/Ed is available for PCs, Unix-based machines, Amiga, and Atari
  160.    systems. The Ada/Ed interpreter for Ada 83 is available from the New
  161.    York University host, in directory ftp://cs.nyu.edu/pub/adaed
  162.    (Internet address 128.122.140.24). There you will find a version for
  163.    UNIX-based machines, and a version for 386/486 DOS machines.
  164.  
  165.    Ada/Ed is a translator-interpreter for Ada. It is intended as a
  166.    teaching tool, and does not have the capacity, performance, or
  167.    robustness of commercial Ada compilers. Ada/Ed was developed at New
  168.    York University, as part of a long-range project in language
  169.    definition and software prototyping. The project produced the first
  170.    validated translator for Ada, in the form of an executable definition
  171.    of the language written in SETL. The SETL system served as design
  172.    document and prototype for the C version.
  173.  
  174.    Ada/Ed was last validated under version 1.7 of the ACVC tests.
  175.    Therefore it is not currently a validated Ada system, and users can
  176.    expect to find small discrepancies between Ada/Ed and currently
  177.    validated compilers.
  178.  
  179.    Apart from the 100-odd tests of ACVC 1.11 that Ada/Ed currently fails,
  180.    the major deficiency of the system is that, being an interpreter, it
  181.    does not implement most representation clauses, and thus does not
  182.    support systems programming close to the machine level.
  183.  
  184.  
  185.     4.2.3: GW-Ada/Ed -- a souped-up version of Ada/Ed for 386/486 DOS and
  186.     Macintosh machines
  187.  
  188.    GW-Ada/Ed is available from the PAL, by anonymous FTP. The files are
  189.    located in subdirectories "dos" and "mac" of directory
  190.    ftp://wuarchive.wustl.edu/pub/languages/ada/compiler/adaed/gwu
  191.  
  192.    This project was sponsored by The George Washington University, and in
  193.    part by the United States Advanced Research Projects Agency (ARPA).
  194.  
  195.    This distribution contains the executables for GWAda, which consists
  196.    of the NYU Ada/Ed translator/interpreter system together with an
  197.    integrated editor developed by Prof. Arthur Vargas Lopes of the
  198.    Pontifical University at Porto Alegre, Brazil. Lopes began his work on
  199.    GWAda while he was a doctoral student at The George Washington
  200.    University. There is also in the DOS version a very nice extended
  201.    runtime facility, with interesting kinds of source tracing.
  202.  
  203.    GWAda is being freely distributed at no charge. In the near future the
  204.    developers will make the source code available under the GNU General
  205.    Public License. Source code is not being provided because the system
  206.    is still in the developmental stage. Source code for Ada/Ed itself is
  207.    available from NYU (see above) and from PAL (see questions 9.1 and
  208.    9.3).
  209.  
  210.    Note that under DOS you do not have to use the GWAda integrated
  211.    environment, but can execute the various parts of NYU Ada/Ed from the
  212.    DOS command line, as described in the NYU instructions.
  213.  
  214.    System requirements:
  215.      * IBM PC Compatible, 386 or 486, running MS-DOS or PC-DOS, with at
  216.        least 3.6 MB available extended memory, and at least 5 MB free
  217.        hard-disk space.
  218.  
  219.      * any Mac, System 7, with at least 2.5 MB of RAM, and around 10 MB
  220.        free hard-disk space. Note that the new version is PowerPC native
  221.        and blindingly fast (8-20 times faster than the 1.1 release).
  222.  
  223.  
  224. 4.3: What cheap (<500$) Ada compilers are available?
  225.  
  226.    What follows is absolutely *not* exhaustive, but inexpensive
  227.    compilers are available, and some vendors offer educational discounts
  228.    or free programs for educational sites. Among those offering
  229.    educational discounts are DDC-I, Encore, Harris, IBM, Irvine Compiler,
  230.    OC Systems, Rational, R.R., Tartan, and Thomson Software Products
  231.    (ex-Alsys).
  232.  
  233.    OC Systems: OC Systems will distribute PowerAda free to educational
  234.    institutions wishing to use the product for teaching purposes. Contact
  235.    by email info@ocsystems.com
  236.  
  237.    Rational: Rational provides free software (Rational Apex) to
  238.    accredited educational institutions, including military academies, in
  239.    the United States and Canada. This is under its Software Engineering
  240.    for Educational Development (SEED) program. To receive information on
  241.    the program, send your contact information via e-mail to
  242.    SEED_Info@Rational.com
  243.  
  244.    Rational also offers OpenAda for $99. (Rational Software Corporation,
  245.    2800 San Tomas Expressway, Santa Clara, CA 95051-0951; tel:
  246.    1-800-RAT-1212)
  247.  
  248.    R.R. Software: R.R.'s Janus/Ada Professional Development System --
  249.    80386 MS-DOS -- regularly goes for $500. (R.R. Software, P.O. Box
  250.    1512, Madison, WI 53701; contact: Randall Brukardt 608/251-3133;
  251.    e-mail: rbrukardt@bix.com)
  252.  
  253.    Thomson Software Products (US pricing only): FirstAda for 286 DOS is
  254.    $595. It will run on 286 and higher, and will generate applications
  255.    for any x86 PC. Comes with a full toolset. Thomson Software Products
  256.    does run specials on it periodically. Call Pat Michalowski at
  257.    619/457-2700 for more info.
  258.  
  259.    Thomson Software Products offers the same compilation system for $144
  260.    to qualified educational institutions under its LEAP program. The
  261.    program also offers substantial educational discounts on other Thomson
  262.    Software Products products, as well as site license arrangements.
  263.    Contact Kathy Ruggiero at 617/270-0030 for more info.
  264.  
  265.  
  266. 4.4: Is there an Ada compiler for common machine X/common operating system Y?
  267.  
  268.    There are hundreds of Ada compilers available on the market. Some
  269.    answers for Frequently Asked Compilers are listed below. If your
  270.    specific question is not answered here, check the comprehensive list
  271.    of validated Ada compilers (see 4.1).
  272.  
  273.  
  274.     4.4.1: For the Macintosh
  275.  
  276.    It depends on whether you want a compiler for serious development or
  277.    just a learning tool. The free GW-Ada/Ed-Mac (see question 4.2.3) is
  278.    the latter; it works on all Mac architectures. GW-Ada is a nice
  279.    learning tool with an easy-to-use IDE, but it generates interpreted
  280.    virtual code, not Mac apps.
  281.  
  282.    Other than that there is the Rational (ex-Meridian) OpenAda. OpenAda
  283.    is an Ada 83 compiler with a Toolbox binding and MPW 3.2, but Rational
  284.    has dropped it and is not going to upgrade it to Ada 95. It has one
  285.    limitation for large programs: Packages which contain more than 32K
  286.    bytes of data will compile, but not link. It works with System 7, and
  287.    has been reported both as working and not-working on PowerPCs (maybe
  288.    due to a problem with Inits). It can be ordered from D.C. Heath (price
  289.    Mac version 12 disks plus documentation (35630-1) PC versions Five 3
  290.    1/2" disks plus documentation (35629-8) Nine 5 1/4" disks plus
  291.    documentation (34139-8)
  292.  
  293.    A GNAT for Macintosh is in the works.
  294.  
  295.  
  296.     4.4.2: Native compilers for OS/2
  297.  
  298.    There are several good fully validated compilers. E.g. Thomson
  299.    Software Products (ex-Alsys) has one, and has a partial Ada 95
  300.    compiler for Windows; RR Software specializes in the Intel x86
  301.    architecture (AETECH repackages and distributes their compilers as
  302.    IntegrAda) -- and they advertise a partial Ada 95 compiler. GNAT is
  303.    available for OS/2.
  304.  
  305.  
  306. 4.5: How can I contact Ada compiler vendors?
  307.  
  308.    Here is a non-exhaustive list (possibly out-of-date, for the moment)
  309.    of email and phone contacts for questions and/or sales.
  310.  
  311. Active Engineering Technologies, Inc.
  312.   WWW http://www.pcada.com/pcada/
  313.   sales
  314.     email: ada_info@pcada.com
  315.     Tel: (619) 414-9001
  316.     Fax: (619) 414-9192
  317.  
  318. Ada Core Technologies (ACT)
  319.   WWW http://www.gnat.com/
  320.   questions
  321.     email: support@gnat.com
  322.     Tel: (212) 620-7300
  323.     Fax: (212) 807-0162
  324.  
  325. AETECH, Inc.: see Active Engineering Technologies
  326.  
  327. Alsys: see Thomson Software Products
  328.  
  329. Convex
  330.   WWW http://www.convex.com/
  331.   questions
  332.     allison@convex.com (Brian Allison)
  333.     Tel: (214) 497-4346
  334.  
  335. Cray
  336.   WWW http://www.cray.com/
  337.   questions
  338.     det@cray.com (Dave Thersleff)
  339.     Tel: (612) 683-5701
  340.   sales
  341.     svc@cray.com (Sylvia Crain)
  342.     Tel: (505) 988-2468
  343.  
  344. DEC
  345.   WWW http://www.digital.com/home.html
  346.  
  347. DDC-I
  348.   WWW http://www.dknet.dk/ddci/
  349.   sales
  350.     sale@ddci.dk
  351.     Tel: (602) 275-7172
  352.     Tel: +45 45 87 11 44
  353.  
  354. Green Hills Software Inc.
  355.   WWW http://ghs.com/ghs/html/ghs.html
  356.   questions
  357.     support@ghs.com
  358.   sales
  359.     eric@ghs.com (Eric Schacherer)
  360.     Tel: (805) 965-6044
  361.  
  362. Harris Computer Systems Corporation
  363.   WWW http://www.hcsc.com/
  364.   questions
  365.     jeffh@ssd.csd.harris.com (Jeff Hollensen)
  366.  
  367. IBM: see OC Systems Inc.
  368.  
  369. Intermetrics
  370.   WWW http://www.inmet.com/
  371.   questions
  372.     ryer@inmet.inmet.com (Mike Ryer)
  373.  
  374. Irvine Compiler Corp (ICC)
  375.   questions
  376.     info@irvine.com
  377.  
  378. Meridian: see Rational Software Corporation
  379.  
  380. OC Systems Inc.
  381.   WWW http://ocsystems.com/
  382.   questions
  383.     Email: info@ocsystems.com
  384.   sales
  385.     Tel: (703) 359-8160
  386.     Fax: (703) 359-8161
  387.  
  388. Rational Software Corporation
  389.   WWW http://www.rational.com/
  390.   sales
  391.     product_info@rational.com
  392.     Tel: (408) 496-3600 or (800) RAT-1212
  393.  
  394. R.R. Software
  395.   sales
  396.     Tel: (800) Pc-Ada-4u or (800) 722-3248
  397.     rBrukardt@bix.com (Randy Brukardt)
  398.  
  399. Tartan
  400.   questions
  401.     customer-support@tartan.com
  402.     Tel: (412) 856-3600 (ext 150)
  403.   sales
  404.     info@tartan.com
  405.     Tel: (800) 856-5255 or (412) 856-3600
  406.  
  407. TeleSoft: see Thomson Software Products
  408.  
  409. Thomson Software Products (ex-Alsys)
  410.   WWW http://www.thomsoft.com/
  411.   questions
  412.     adasupport@thomsoft.com
  413.   sales
  414.     marketing@thomsoft.com
  415.     Tel: (619) 457-2700
  416.          (800) 833-0042 (ActivAda only)
  417.  
  418. Verdix: see Rational Software Corporation
  419.  
  420.  
  421.    Note: The AdaIC's Validated Compiler List (see 4.1) now contains
  422.    addresses, usually including e-mail, for compiler-vendor points of
  423.    contact.
  424.  
  425.  
  426. 4.6: Are Ada 95 compilers compatible with Ada 83?
  427.  
  428.    Yes, absolutely. Ada 95 is very close to upwards compatible with Ada
  429.    83, so you will find that an Ada 95 compiler is in practice
  430.    "compatible" with the Ada 83 compiler you have used or are using. The
  431.    compatibility really depends on what kind of code you have written, so
  432.    one should understand what has evolved, what was considered broken and
  433.    is now fixed, as well as what is new. There are two excellent
  434.    documents that will help immensely in that respect:
  435.      * Changes to Ada -- 1987 to 1995, in a Postscript 362KB file:
  436.        ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/95lrm_rat
  437.            /v6.0/chg83.ps
  438.        also available in a text-only 207KB file:
  439.        ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/95lrm_rat
  440.            /v6.0/chg83.doc
  441.  
  442.      * Ada 9X Compatibility Guide, by Bill Taylor, in directory
  443.        ftp://sw-eng.falls-church.va.us/public/AdaIC/docs/compat-guide
  444.  
  445.  
  446.    Furthermore, GNAT has a -gnat83 switch which enforces most of the Ada
  447.    83 restrictions, and other compilers have similar 95/83 modes.
  448.  
  449.      _________________________________________________________________
  450.  
  451.  
  452. 5: Organizations that deal with Ada and Ada issues
  453.  
  454.  
  455. 5.1: Ada Joint Program Office (AJPO)
  456.  
  457.    The AJPO is part of the U.S. Department of Defense; it was created to
  458.    facilitate the implementation of the DoD's Software Initiative (Ada)
  459.    throughout the Services, and maintain the integrity of the Ada
  460.    language. The AJPO sponsors the AdaIC (see below).
  461.  
  462.    NOTE: The AJPO is scheduled to shut down in 1997. Its functions will
  463.    probably be transferred to other entities.
  464.  
  465.    The address is:
  466.  
  467. AJPO
  468. CODE JEKS
  469. 5600 Columbia Pike
  470. Falls-church, VA 22041
  471.  
  472. phone: (703) 681-2459
  473. email: ajpo@sw-eng.falls-church.va.us
  474.  
  475.    The current staff are:
  476.  
  477.    Chief
  478.           Dr. Charles B. ("Chuck") Engle, Jr. --
  479.           engle1c@sw-eng.falls-church.va.us
  480.  
  481.    Acting AJPO Program Manager
  482.           Ms. Joan McGarity -- mcgarity@sw-eng.falls-church.va.us
  483.  
  484.    Contracts Liaison
  485.           Mr. Gary Shupe -- shupeg@sw-eng.falls-church.va.us
  486.  
  487.  
  488. 5.2: Ada Information Clearinghouse (AdaIC)
  489.  
  490.    The Ada Information Clearinghouse (AdaIC) provides a full spectrum of
  491.    information on Ada to anyone interested in finding out more about the
  492.    programming language. IIT Research Institute operates the AdaIC for
  493.    the Ada Joint Program Office (AJPO).
  494.  
  495.    Their address is:
  496.  
  497. Ada Information Clearinghouse
  498. P.O. Box 1866
  499. Falls Church, VA 22041
  500.  
  501. phone: (703) 681-2466
  502. fax:   (703) 681-2869
  503. or
  504. (800) Adaic 11 (232-4211)
  505.  
  506. email: adainfo@sw-eng.falls-church.va.us
  507. WWW:   http://sw-eng.falls-church.va.us
  508.  
  509.  
  510.    The AdaIC publishes a quarterly newsletter, which contains current
  511.    news, Ada conference reports, announcements from the AJPO Director,
  512.    and articles on projects using Ada. If you would like to receive a
  513.    copy of the AdaIC newsletter, call and request a subscription. There
  514.    is no charge. The AdaIC also regularly updates and publishes more than
  515.    70 separate information flyers. Flyer topics include:
  516.      * Ada Validated Compilers
  517.      * Ada News and Current Events
  518.      * Ada Usage
  519.      * Ada 9X Project
  520.      * On-line sources of Ada Information
  521.      * Ada Bibliographies
  522.      * Ada Compiler Validation and Evaluation
  523.      * Resources for Ada Education and Training
  524.      * Ada Software, Tools, and Interfaces
  525.      * Ada Regulations, Policies, and Mandates
  526.      * Ada Historical Information
  527.  
  528.  
  529.    One of the most commonly requested flyers is the Validated Compilers
  530.    List. This list, which is updated monthly, contains Ada compilers that
  531.    have been validated by the AJPO. For the most current information on
  532.    validated Ada compilers, contact the AdaIC.
  533.  
  534.    Practically all AdaIC flyers are available via anonymous FTP from
  535.    their host, in directory ftp://sw-eng.falls-church.va.us/public
  536.  
  537.  
  538. 5.3: Association for Computing Machinery's Special Interest Group on Ada (ACM
  539. SIGAda)
  540.  
  541.    SIGAda's bimonthly publication is Ada Letters.
  542.  
  543.    Price for non-members: $55 (Annual ACM membership dues, $82; students,
  544.    $25).
  545.  
  546.    Otherwise it costs $20 per year to ACM members; $10 per year to ACM
  547.    student members.
  548.  
  549.    The address is:
  550.  
  551. Association for Computing Machinery, Inc.
  552. 1515 Broadway
  553. New York, NY 10036
  554. 212/869-7440
  555.  
  556.    SIGAda also has a number of committees and working groups on a variety
  557.    of topics.
  558.  
  559.  
  560. 5.4: ISO Working Group 9 (ISO-IEC/JTC1/SC22/WG9, WG9 for short)
  561.  
  562.    This is a working group that deals with Ada within the International
  563.    Standardization Organization. For more information, you can find
  564.    online information about WG9 at
  565.    http://lglwww.epfl.ch/Ada/Ammo/Associations/WG9.html
  566.  
  567.    There are several Rapporteur (rap) groups with WG9:
  568.      * ARG: Ada Rapporteur Group -- Comments and Interpretations
  569.      * CRG: Character Rapporteur Group -- International Character Sets
  570.      * IRG: Information Systems Rapporteur Group -- Decimal Arithmetic
  571.      * NRG: Numerics Rapporteur Group -- NUMWG packages
  572.      * RRG: Real-Time Rapporteur Group -- ExTRA
  573.      * SRG: SQL Interfaces Rapporteur Group -- SAMeDL
  574.      * URG: Uniformity Rapporteur Group -- Portability through Uniformity
  575.      * XRG: Ada 9X Rapporteur Group
  576.  
  577.  
  578.    Ada Rapporteur Group (ARG):
  579.           This is the group responsible for evaluating comments on the
  580.           Ada standard. Officially, the group is only developing a
  581.           technical report addressing comments and questions concerning
  582.           the ISO standard for Ada. (Arcane ISO rules prevent the ARG or
  583.           WG9 from issuing "official" interpretations of a standard.) In
  584.           practice, when a response to a comment is approved by WG9, the
  585.           response is taken into account by the Ada Validation Office and
  586.           affects the test suite. The documents containing comments on
  587.           the standard and ARG responses are called "Ada Commentaries"
  588.           and are given numbers of the form AI-ddddd/vv, where vv is a
  589.           version number.
  590.  
  591.           Comments and questions about the Ada standard should be sent to
  592.           ada-comment@sw-eng.falls-church.va.us, using the format
  593.           specified in the Ada standard. You can receive e-mail
  594.           notification of an update to a commentary (optionally including
  595.           the text of the commentary) by sending a request to
  596.           ada-comment@sw-eng.falls-church.va.us. Commentaries are
  597.           generally updated only a few times each year. The text of all
  598.           commentaries is available by anonymous FTP from the AdaIC site
  599.           in the account public/ada-comment. A detailed discussion of ARG
  600.           procedures and the format of commentaries can be found in the
  601.           ada-comment account in the file arg-procedures.doc. A
  602.           reformatted copy of the Reference Manual that includes
  603.           WG9-approved commentaries used to be available from Karl Nyberg
  604.           (karl@grebyn.com), but note that distribution of the Ada 83
  605.           AARM has been transferred by Grebyn Corporation to the Ada
  606.           Resource Association (3.1.1).
  607.  
  608.    Uniformity Rapporteur Group (URG)
  609.           Responsible for evaluating Uniformity Issues (UIs). UIs
  610.           specify/recommend specific choices for the compiler
  611.           implementor, where the language permits implementation freedom.
  612.           The "canonical example" is UI-8, on integer types. This UI
  613.           recommends that integers be at least 32 bits, and provides
  614.           names for the other predefined integer types. The goal of the
  615.           URG and the UI's is to further Ada portability by providing
  616.           uniform implementations of implementation-dependent features
  617.           commonly used by Ada applications.
  618.  
  619.  
  620.      _________________________________________________________________
  621.  
  622. 6: Tools
  623.  
  624. 6.1: Is there an Ada-mode for Emacs?
  625.  
  626.    There are 3 Ada modes for Emacs:
  627.      * the most recent and powerful one is available by FTP in the file
  628.        emacs-ada-mode-2.12.tar.gz in directory ftp://cs.nyu.edu/pub/gnat
  629.  
  630.        This is still work under development but it is already quite
  631.        usable. The main features are:
  632.           + compile and parse the errors (with the cursor at the right
  633.             line AND column)
  634.           + highlight keywords and comments
  635.           + create skeletons for all Ada constructs (both 83 and 9x)
  636.           + goto next (previous) subprogram/package/task
  637.           + goto beginning of syntactic construct
  638.           + name completion (works across file boundaries, if the Xref
  639.             output from gnatf is available)
  640.           + TAB ---> indent (almost always correctly)
  641.           + untabify, remove trailing spaces automatically before saving
  642.           + C-c C-f ---> format subprogram specs in GNAT style
  643.           + and much more to come...
  644.    The 2 main developers are Markus Heritsch (who works under the
  645.        direction of Franco Gasperoni at ENST, Paris) and Rolf Ebert
  646.        (Munich, Germany).
  647.  
  648.      * electric-ada, by Steven D. Litvintchouk of Mitre Corp (available
  649.        from?--NO INFORMATION); and
  650.  
  651.      * gnu-ada mode. Here is a small description of the features of this
  652.        mode:
  653.  
  654.         Compile programs within emacs
  655.                 Run compiler as inferior of Emacs, and parse its error
  656.                 messages. NOTE: I believe that this feature will only
  657.                 work with VADS, but it might have been tailored to work
  658.                 with other compilers.
  659.  
  660.         Ada dired
  661.                 It supplies a form of dired that helps manage the VADS
  662.                 environment, and it adds ADA vads commands into ada mode.
  663.                 Unlike a previous dired-ada implementation, this version
  664.                 uses the existing dired mode functions except where there
  665.                 is unresolvable conflict. Thus, this is more like a minor
  666.                 mode to dired. Very important because on actual version
  667.                 of emacs 19(beta), in fact lemacs (lucid emacs), dired
  668.                 has changed and we can no longer use gnu-ada mode :-(
  669.  
  670.         you can consult the Ada Language Reference Manual (*) during
  671.                 parsing error message.
  672.                 (*)You can get one in e.g. the Public Ada Library.
  673.  
  674.         smart indentation
  675.                 Tries hard to do all the indenting automatically.
  676.                 Emphasizes correct insertion of new code using smart
  677.                 templates.
  678.  
  679.         Smart template commands (bnf)
  680.                 This is essentially a bnf processor/language-sensitive
  681.                 editor. The next message will give you an ada bnf file
  682.                 that you can use within ada-mode to expand nonterminals.
  683.                 But you can roll your own grammars (e.g., your design
  684.                 grammar or an ADL) and put them in *.bnf files ... The
  685.                 BNF rule set is stored as a list of rules.
  686.  
  687.         debugging Ada programs within emacs
  688.                 A facility is provided for the simultaneous display of
  689.                 the source code in one window, while using a.db to step
  690.                 through a function in the other. A small arrow "=>" in
  691.                 the source window, indicates the current line.
  692.  
  693.         Move from procedure to procedure or package to package
  694.  
  695.         tags Ada
  696.  
  697.         and other things ...
  698.  
  699.  
  700.    You can find the gnu-ada mode in where did it go? as well as in the
  701.    PAL, under directory
  702.    ftp://wuarchive.wustl.edu/pub/languages/ada/swtools/emacs/adamode.
  703.  
  704.  
  705. 6.2: Are there versions of lex and yacc that generate Ada code?
  706.  
  707.    The Arcadia project produced the tools aflex and ayacc, both written
  708.    in Ada and producing Ada code. They can be found in directory
  709.    ftp://liege.ics.uci.edu/pub/irus (Internet address: 128.195.1.5,
  710.    128.195.13.1).
  711.  
  712.  
  713. 6.3: Where can I get a yacc/ayacc grammar to read Ada code?
  714.  
  715.    A yacc and lex grammar for Ada 83 is available via FTP from the
  716.    comp.compiler archives at primost.cs.wisc.edu and via e-mail from the
  717.    compilers server at compilers-server@iecc.cambridge.ma.us .
  718.  
  719.    A yacc grammar for Ada 95 is available in file
  720.    ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/95lrm_rat/grammar9x.y
  721.  
  722.    and a lex grammar for Ada 95 is available in file
  723.    ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/95lrm_rat/lexer9x.l
  724.  
  725.  
  726. 6.4: What is Anna, and where can I get it?
  727.  
  728.    Anna is a language for formally specifying Ada programs. It extends
  729.    Ada with various different kinds of specification constructs from ones
  730.    as simple as assertions, to as complex as algebraic specifications. A
  731.    whole lot of tools have been implemented for Anna, including:
  732.     1. The standard DIANA extension packages, parsers, pretty-printers.
  733.     2. Semantic checker (very similar to standard semantic checkers for
  734.        programming languages).
  735.     3. Specification analyzer -- this is a tool used to test a
  736.        specification for correctness before a program based on the
  737.        specification is written.
  738.     4. Annotation transformer -- this transforms Anna specification
  739.        constructs into checks on the Ada program that is developed based
  740.        on the specification. This tool is currently in the process of
  741.        being enhanced so that it can handle at least all the legal Ada
  742.        programs in the ACVC test-suite.
  743.     5. Runtime debugger -- The instrumented program output by the
  744.        annotation transormer can be run with a special debugger that
  745.        allows program debugging based on formal specifications.
  746.  
  747.  
  748.    All tools have been developed in Ada and are therefore extremely
  749.    portable. Anna has been ported to many platforms, details of which can
  750.    be obtained from the person who handles Anna releases. You can send
  751.    e-mail to anna-request@anna.stanford.edu for answers to such
  752.    questions. Actually, there is also a mailing list --
  753.    anna-users@anna.stanford.edu. Send e-mail to the earlier address if
  754.    you want to get on this list.
  755.  
  756.    One could view Anna and its toolset as a *very* significant
  757.    enhancement of assertions that are provided in languages such as C
  758.    (using the assert statement). The enhancements are in the form of both
  759.    (1) many more high level specification constructs; and (2) more
  760.    sophisticated tool support.
  761.  
  762.    However, there are those who would not even wish to compare Anna with
  763.    C assertions! :-)
  764.  
  765.    The Anna tools may be found in directory
  766.    ftp://anna.stanford.edu/pub/anna.
  767.  
  768.  
  769. 6.5: What is DRAGOON, and where can I get it?
  770.  
  771.    DRAGOON is a language, implemented as an Ada preprocessor (i.e., it
  772.    generates pure Ada). DRAGOON is truly object-oriented, including
  773.    complete support for multiple inheritance. A very nice feature of
  774.    DRAGOON not found in many OO languages is the concept of "behavioral"
  775.    inheritance. This allows you to keep the concurrent behavior of object
  776.    separated from the object class hierarchy.
  777.  
  778.    The book by Colin Atkinson, "Object-Oriented Reuse, Concurrency and
  779.    Distribution: An Ada-Based Approach" (ACM Press, 1991, ISBN:
  780.    0201565277), is very well written and describes the language
  781.    succinctly and completely.
  782.  
  783.    For a copy of the preprocessor, contact:
  784.  
  785. Mr. Andrea Di Maio
  786. TXT Ingegneria Informatica S.p.A.
  787. Via Socrate, 41
  788. 20128 Milan, ITALY
  789. phone: + 39-2-2700 1001
  790.  
  791.  
  792. 6.6: Where can I get language translators?
  793.  
  794.    The AdaIC maintains a Products and Tools Database on its bulletin
  795.    board (703/614-0215), and one of the categories is translators. (The
  796.    list of products should not be considered exhaustive; if you wish to
  797.    suggest additions, please contact the AdaIC.) Besides access to the
  798.    database via the bulletin board, you can also call the AdaIC
  799.    (800-AdaIC-11 or 703/685-1477) and ask for a customized search.
  800.  
  801.     Should I?
  802.  
  803.    In addition to all the usual caveats, however, it should also be noted
  804.    that translation itself is a controversial issue.
  805.  
  806.    When a project makes the transition to Ada from some other language,
  807.    one question that arises is whether to translate older code into Ada.
  808.    Among the immediate considerations are how much of the code can in
  809.    fact be translated by a program intended for that purpose, versus how
  810.    much will still require re-coding by hand. And will the translated
  811.    code suffer a significant loss in speed of execution? Further, a
  812.    project must consider whether the translated code will reflect sound
  813.    software engineering and be readily understandable and modifiable. Or
  814.    will the translated code be merely "Fortranized Ada" or "Cobolized
  815.    Ada", or the like, possibly retaining limitations present in the
  816.    earlier code? Portability is also a problem.
  817.  
  818.    The resolution of such issues will require an understanding of the
  819.    earlier code, an appreciation of the similarities and differences
  820.    between its language and Ada, and an evaluation of the translation
  821.    program under consideration.
  822.  
  823.  
  824. 6.7: What is ASIS?
  825.  
  826.    The Ada Semantic Interface Specification is a layered
  827.    vendor-independent open architecture. ASIS queries and services
  828.    provide a consistent interface to information within the Ada Ada
  829.    compilation environment. Thus it is envisioned that tool makers should
  830.    be able to create ASIS clients--shielded and free from the
  831.    implementation details of each Ada compiler vendor's proprietary
  832.    compilation environment and intermediate representation(s).
  833.  
  834.    ASIS Version 1.1.1 is the last version of the ASIS83 (Ada 83) de facto
  835.    industry standard; it was finalized, together with the corresponding
  836.    test suite for ASIS implementations, in June 1994.
  837.  
  838.    The current version of ASIS 95 is ASIS 2.0.E (November 1995). As
  839.    errors, misunderstandings, and clarifications are discovered, the ASIS
  840.    Working Group will release new edited versions of the specification.
  841.  
  842.    For more information, there is an ASIS WWW server at
  843.    http://info.acm.org/sigada/WG/asiswg/asiswg.html
  844.  
  845.    ASIS versions are available in directory
  846.    ftp://sw-eng.falls-church.va.us/public/AdaIC/work-grp/asiswg
  847.